#define _CRT_SECURE_NO_WARNINGS 1
#include <bits/stdc++.h>
using namespace std;
vector<int> high_mul(vector<int>& A, int b)
{
    vector<int> C;
    int t = 0;
    for (int i = 0; i < A.size(); i++)
    {
        t += A[i] * b;
        C.push_back(t % 10);
        t /= 10;
    }
    while (t)
    {
        C.push_back(t % 10);
        t /= 10;
    }
    while (C.back() == 0 && C.size() > 1)C.pop_back();
    return C;
}
bool high_cp(vector<int>& A, vector<int>& B)
{
    if (A.size() != B.size())return A.size() > B.size();

    for (int i = A.size() - 1; i >= 0; i--)
    {
        if (A[i] != B[i])return A[i] > B[i];
    }
    return false;
}
int main()
{
    string n, m;
    while (cin >> n >> m)
    {
        vector<int> A(n.size(), 0), B(m.size(), 0);
        for (int i = 0; i < n.size(); i++)
        {
            A[n.size() - i - 1] = n[i]-'0';
        }
        for (int i = 0; i < m.size(); i++)
        {
            B[m.size() - i - 1] = m[i]-'0';
        }
        vector<int> ret1 = high_mul(A, 100);
        vector<int> ret2 = high_mul(B, 314 * 2);
        bool flag = high_cp(ret1, ret2);
        if (flag)cout << "No" << endl;
        else cout << "Yes" << endl;
    }

    return 0;
}